/**
 * 基础信息
 */
export interface basicAccountModel {
    account: string,                // 基础账号
    pwd: string,                    // 密码
    source: number                  //  区分账号 [0: 邮箱 1:邮箱]
}

/**
 * 发送验证码
 */
export interface sendVerifyCodeModel {
    account: string                 // 需要获取验证码的邮箱或手机号
    source: number                  // 渠道等信息
    type: number                    // 对应的类别 [0: 注册 1:忘记密码 2: 绑定 3:账号验证]
}

/**
 * 注册
 */
export interface registerModel extends basicAccountModel{
    verifyCode: string,            // 验证码
    name: string,                  // 名称
    iconUrl?: string               // 头像
}

/**
 * 忘记密码
 */
export interface forgetPassModel extends  basicAccountModel {
    verifyCode: string             // 验证码
}


/**
 * 用户使用三方登录
 */
export interface userAuthModel {
    secret: string,                // auth 三方安全登录 时的 密钥 及公钥
    thirdAccount?: string,         // 三方账号
    channel:number                 // 渠道
}

/**
 * 三方账号直接登录
 */
export interface authRegisterModel {
    secret: string,             // uth 三方安全登录 时的 密钥 及 唯一编号
    channel: string,            // 渠道
    name?: string,              // 三方安全登录 获取的用户名称
    iconUrl?: string,           // 头像
    pwd: string,                // 密码
    thirdAccount?: string       // 三方登录 那边的三方账号
}

/**
 * 绑定
 */
export interface authBindAccountModel extends authRegisterModel {
    account: string,            // 账号
    verifyCode: string,         // 验证码
    source: number              // 来源
}

/**
 * 公用的请求分页器
 */
export interface commonPaging {
    count: number              // 获取多少条数
    page: number               // 从第几条开始
    sort?: number               // 排序
    enable?: number             // 是否启用
    filterStartTime?: number    // 筛选开始时间
    filterEndTime?: number      // 筛选结束时间
    userId?: string            // 用户id
}

/**
 * 用户设备列表
 */
export interface userDeviceListModel extends commonPaging {
    deviceModel?: string       // 设备型号
    deviceId?: string          // 设备id
}

/**
 * 用户api 列表
 */
export interface userApiKeyFilterModel extends commonPaging {
    apiName?: string           // api key名称
    type?: number              // api 类别
    apiKey?: number            // api 详情
}

export interface PayCallParam {
    apiKey: string,
    data: any
}

export interface RequestPayModel {
    orderNo: string
    channel: number
    amount: number
    webhook: string
    payPlatform: string
    describe: string
    attach: string
    currency: string
    openId: string
}

export interface payAttachFilter extends commonPaging {
    orderNo: string     // 订单号
    status: number      // 状态
    channel: number     // 渠道
    paymentEnv: string  // 渠道
    payPlatform: string // 平台
}

export interface OneField {
    field: string       // 验证此次参数是否成功
}


